package com.lwp.project.third.provider.module.sys.model;

import com.lwp.mybatis.spring.boot.starter.autoconfigure.model.BaseModel;
import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import java.math.BigInteger;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotations.Version;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Builder;
import lombok.ToString;
import lombok.experimental.Accessors;
import lombok.experimental.Tolerate;

/**
 * <p>
 * 请求日志表
 * </p>
 *
 * @author linwp
 * @since 2018-04-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Builder
@ToString
@TableName("sys_request_log")
public class SysRequestLog extends BaseModel<SysRequestLog> {

    private static final long serialVersionUID = 1L;

	/**
	 * 主键id
	 */
	@TableId(value="request_log_id", type= IdType.AUTO)
	private BigInteger requestLogId;

	/**
	 * 请求地址
	 */
	@TableField("request_url")
	private String requestUrl;

	/**
	 * 执行类
	 */
	@TableField("execute_class")
	private String executeClass;

	/**
	 * 执行方法
	 */
	@TableField("execute_method")
	private String executeMethod;

	/**
	 * 请求端ip
	 */
	@TableField("request_ip")
	private String requestIp;

	/**
	 * 客户端标识
	 */
	@TableField("client_user")
	private String clientUser;

	/**
	 * 日志级别
	 */
	@TableField("log_level")
	private Integer logLevel;

	/**
	 * 开始时间
	 */
	@TableField("start_date")
	private Date startDate;

	/**
	 * 结束时间
	 */
	@TableField("end_date")
	private Date endDate;

	/**
	 * 花费时间
	 */
	@TableField("cost_time")
	private Integer costTime;

	/**
	 * 请求参数
	 */
	@TableField("request_data")
	private String requestData;

	/**
	 * 返回数据
	 */
	@TableField("response_data")
	private String responseData;

	/**
	 * 响应ip
	 */
	@TableField("response_ip")
	private String responseIp;

	/**
	 * 请求状态
	 */
	@TableField("state")
	private Integer state;

	/**
	 * 创建时间
	 */
	@TableField("create_date")
	private Date createDate;

	/**
	 * 创建者
	 */
	@TableField("create_userid")
	private String createUserid;

	/**
	 * 修改时间
	 */
	@TableField("update_date")
	private Date updateDate;

	/**
	 * 修改者
	 */
	@TableField("update_userid")
	private String updateUserid;

	/**
	 * 用户代理信息
	 */
	@TableField("user_agent")
	private String userAgent;




	@Tolerate
	public SysRequestLog(){
	}

	@Override
	protected Serializable pkVal() {
		return this.requestLogId;
	}

}
